<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE CPP #-}</span><span class="hs-cpp">
#if !defined(TESTING) &amp;&amp; defined(__GLASGOW_HASKELL__)
</span><span class="hs-pragma">{-# LANGUAGE Safe #-}</span><span class="hs-cpp">
#endif
</span><span class="hs-cpp">
#ifdef __GLASGOW_HASKELL__
</span><span class="hs-pragma">{-# LANGUAGE DataKinds, FlexibleContexts #-}</span><span class="hs-cpp">
#endif
</span><span class="hs-cpp">#if __GLASGOW_HASKELL__ &gt;= 800
</span><span class="hs-pragma">{-# LANGUAGE MonoLocalBinds #-}</span><span class="hs-cpp">
#endif
</span><span class="hs-cpp">
#include &quot;containers.h&quot;
</span><span>
</span><span id="line-15"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-16"></span><span class="hs-comment">-- |</span><span>
</span><span id="line-17"></span><span class="hs-comment">-- Module      :  Data.Map</span><span>
</span><span id="line-18"></span><span class="hs-comment">-- Copyright   :  (c) Daan Leijen 2002</span><span>
</span><span id="line-19"></span><span class="hs-comment">--                (c) Andriy Palamarchuk 2008</span><span>
</span><span id="line-20"></span><span class="hs-comment">-- License     :  BSD-style</span><span>
</span><span id="line-21"></span><span class="hs-comment">-- Maintainer  :  libraries@haskell.org</span><span>
</span><span id="line-22"></span><span class="hs-comment">-- Portability :  portable</span><span>
</span><span id="line-23"></span><span class="hs-comment">--</span><span>
</span><span id="line-24"></span><span class="hs-comment">-- /Note:/ You should use &quot;Data.Map.Strict&quot; instead of this module if:</span><span>
</span><span id="line-25"></span><span class="hs-comment">--</span><span>
</span><span id="line-26"></span><span class="hs-comment">-- * You will eventually need all the values stored.</span><span>
</span><span id="line-27"></span><span class="hs-comment">--</span><span>
</span><span id="line-28"></span><span class="hs-comment">-- * The stored values don't represent large virtual data structures</span><span>
</span><span id="line-29"></span><span class="hs-comment">-- to be lazily computed.</span><span>
</span><span id="line-30"></span><span class="hs-comment">--</span><span>
</span><span id="line-31"></span><span class="hs-comment">-- An efficient implementation of ordered maps from keys to values</span><span>
</span><span id="line-32"></span><span class="hs-comment">-- (dictionaries).</span><span>
</span><span id="line-33"></span><span class="hs-comment">--</span><span>
</span><span id="line-34"></span><span class="hs-comment">-- These modules are intended to be imported qualified, to avoid name</span><span>
</span><span id="line-35"></span><span class="hs-comment">-- clashes with Prelude functions, e.g.</span><span>
</span><span id="line-36"></span><span class="hs-comment">--</span><span>
</span><span id="line-37"></span><span class="hs-comment">-- &gt;  import qualified Data.Map as Map</span><span>
</span><span id="line-38"></span><span class="hs-comment">--</span><span>
</span><span id="line-39"></span><span class="hs-comment">-- The implementation of 'Map' is based on /size balanced/ binary trees (or</span><span>
</span><span id="line-40"></span><span class="hs-comment">-- trees of /bounded balance/) as described by:</span><span>
</span><span id="line-41"></span><span class="hs-comment">--</span><span>
</span><span id="line-42"></span><span class="hs-comment">--    * Stephen Adams, \&quot;/Efficient sets: a balancing act/\&quot;,</span><span>
</span><span id="line-43"></span><span class="hs-comment">--     Journal of Functional Programming 3(4):553-562, October 1993,</span><span>
</span><span id="line-44"></span><span class="hs-comment">--     &lt;http://www.swiss.ai.mit.edu/~adams/BB/&gt;.</span><span>
</span><span id="line-45"></span><span class="hs-comment">--    * J. Nievergelt and E.M. Reingold,</span><span>
</span><span id="line-46"></span><span class="hs-comment">--      \&quot;/Binary search trees of bounded balance/\&quot;,</span><span>
</span><span id="line-47"></span><span class="hs-comment">--      SIAM journal of computing 2(1), March 1973.</span><span>
</span><span id="line-48"></span><span class="hs-comment">--</span><span>
</span><span id="line-49"></span><span class="hs-comment">--  Bounds for 'union', 'intersection', and 'difference' are as given</span><span>
</span><span id="line-50"></span><span class="hs-comment">--  by</span><span>
</span><span id="line-51"></span><span class="hs-comment">--</span><span>
</span><span id="line-52"></span><span class="hs-comment">--    * Guy Blelloch, Daniel Ferizovic, and Yihan Sun,</span><span>
</span><span id="line-53"></span><span class="hs-comment">--      \&quot;/Just Join for Parallel Ordered Sets/\&quot;,</span><span>
</span><span id="line-54"></span><span class="hs-comment">--      &lt;https://arxiv.org/abs/1602.02120v3&gt;.</span><span>
</span><span id="line-55"></span><span class="hs-comment">--</span><span>
</span><span id="line-56"></span><span class="hs-comment">-- Note that the implementation is /left-biased/ -- the elements of a</span><span>
</span><span id="line-57"></span><span class="hs-comment">-- first argument are always preferred to the second, for example in</span><span>
</span><span id="line-58"></span><span class="hs-comment">-- 'union' or 'insert'.</span><span>
</span><span id="line-59"></span><span class="hs-comment">--</span><span>
</span><span id="line-60"></span><span class="hs-comment">-- /Warning/: The size of the map must not exceed @maxBound::Int@. Violation of</span><span>
</span><span id="line-61"></span><span class="hs-comment">-- this condition is not detected and if the size limit is exceeded, its</span><span>
</span><span id="line-62"></span><span class="hs-comment">-- behaviour is undefined.</span><span>
</span><span id="line-63"></span><span class="hs-comment">--</span><span>
</span><span id="line-64"></span><span class="hs-comment">-- Operation comments contain the operation time complexity in</span><span>
</span><span id="line-65"></span><span class="hs-comment">-- the Big-O notation (&lt;http://en.wikipedia.org/wiki/Big_O_notation&gt;).</span><span>
</span><span id="line-66"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-67"></span><span>
</span><span id="line-68"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Data.Map</span><span>
</span><span id="line-69"></span><span>    </span><span class="hs-special">(</span><span> </span><span class="hs-keyword">module</span><span> </span><span class="annot"><a href="Data.Map.Lazy.html"><span class="hs-identifier">Data.Map.Lazy</span></a></span><span class="hs-cpp">
#ifdef __GLASGOW_HASKELL__
</span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.Map.html#insertWith%27"><span class="hs-identifier">insertWith'</span></a></span><span>
</span><span id="line-72"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.Map.html#insertWithKey%27"><span class="hs-identifier">insertWithKey'</span></a></span><span>
</span><span id="line-73"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.Map.html#insertLookupWithKey%27"><span class="hs-identifier">insertLookupWithKey'</span></a></span><span>
</span><span id="line-74"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.Map.html#fold"><span class="hs-identifier">fold</span></a></span><span>
</span><span id="line-75"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.Map.html#foldWithKey"><span class="hs-identifier">foldWithKey</span></a></span><span class="hs-cpp">
#endif
</span><span>    </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-78"></span><span>
</span><span id="line-79"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Data.Map.Lazy.html"><span class="hs-identifier">Data.Map.Lazy</span></a></span><span class="hs-cpp">

#ifdef __GLASGOW_HASKELL__
</span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Utils.Containers.Internal.TypeError.html"><span class="hs-identifier">Utils.Containers.Internal.TypeError</span></a></span><span>
</span><span id="line-83"></span><span>
</span><span id="line-84"></span><span class="hs-comment">-- | This function is being removed and is no longer usable.</span><span>
</span><span id="line-85"></span><span class="hs-comment">-- Use 'Data.Map.Strict.insertWith'.</span><span>
</span><span id="line-86"></span><span id="local-6989586621679186332"><span id="local-6989586621679186333"><span class="annot"><a href="Data.Map.html#insertWith%27"><span class="hs-identifier hs-type">insertWith'</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Utils.Containers.Internal.TypeError.html#Whoops"><span class="hs-identifier hs-type">Whoops</span></a></span><span> </span><span class="annot"><span class="hs-string">&quot;Data.Map.insertWith' is gone. Use Data.Map.Strict.insertWith.&quot;</span></span><span>
</span><span id="line-87"></span><span>            </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679186333"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186333"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186333"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186332"><span class="hs-identifier hs-type">k</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186333"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Data.Map.Internal.html#Map"><span class="hs-identifier hs-type">Map</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679186332"><span class="hs-identifier hs-type">k</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679186333"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Data.Map.Internal.html#Map"><span class="hs-identifier hs-type">Map</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679186332"><span class="hs-identifier hs-type">k</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679186333"><span class="hs-identifier hs-type">a</span></a></span></span></span><span>
</span><span id="line-88"></span><span id="insertWith%27"><span class="annot"><span class="annottext">insertWith' :: forall a k.
Whoops
  &quot;Data.Map.insertWith' is gone. Use Data.Map.Strict.insertWith.&quot; =&gt;
(a -&gt; a -&gt; a) -&gt; k -&gt; a -&gt; Map k a -&gt; Map k a
</span><a href="Data.Map.html#insertWith%27"><span class="hs-identifier hs-var hs-var">insertWith'</span></a></span></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">k
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">a
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Map k a
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Map k a
forall a. HasCallStack =&gt; a
</span><a href="../../base/src/GHC.Err.html#undefined"><span class="hs-identifier hs-var">undefined</span></a></span><span>
</span><span id="line-89"></span><span>
</span><span id="line-90"></span><span class="hs-comment">-- | This function is being removed and is no longer usable.</span><span>
</span><span id="line-91"></span><span class="hs-comment">-- Use 'Data.Map.Strict.insertWithKey'.</span><span>
</span><span id="line-92"></span><span id="local-6989586621679186324"><span id="local-6989586621679186325"><span class="annot"><a href="Data.Map.html#insertWithKey%27"><span class="hs-identifier hs-type">insertWithKey'</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Utils.Containers.Internal.TypeError.html#Whoops"><span class="hs-identifier hs-type">Whoops</span></a></span><span> </span><span class="annot"><span class="hs-string">&quot;Data.Map.insertWithKey' is gone. Use Data.Map.Strict.insertWithKey.&quot;</span></span><span>
</span><span id="line-93"></span><span>               </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679186325"><span class="hs-identifier hs-type">k</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186324"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186324"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186324"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186325"><span class="hs-identifier hs-type">k</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186324"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Data.Map.Internal.html#Map"><span class="hs-identifier hs-type">Map</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679186325"><span class="hs-identifier hs-type">k</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679186324"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Data.Map.Internal.html#Map"><span class="hs-identifier hs-type">Map</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679186325"><span class="hs-identifier hs-type">k</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679186324"><span class="hs-identifier hs-type">a</span></a></span></span></span><span>
</span><span id="line-94"></span><span id="insertWithKey%27"><span class="annot"><span class="annottext">insertWithKey' :: forall k a.
Whoops
  &quot;Data.Map.insertWithKey' is gone. Use Data.Map.Strict.insertWithKey.&quot; =&gt;
(k -&gt; a -&gt; a -&gt; a) -&gt; k -&gt; a -&gt; Map k a -&gt; Map k a
</span><a href="Data.Map.html#insertWithKey%27"><span class="hs-identifier hs-var hs-var">insertWithKey'</span></a></span></span><span> </span><span class="annot"><span class="annottext">k -&gt; a -&gt; a -&gt; a
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">k
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">a
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Map k a
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Map k a
forall a. HasCallStack =&gt; a
</span><a href="../../base/src/GHC.Err.html#undefined"><span class="hs-identifier hs-var">undefined</span></a></span><span>
</span><span id="line-95"></span><span>
</span><span id="line-96"></span><span class="hs-comment">-- | This function is being removed and is no longer usable.</span><span>
</span><span id="line-97"></span><span class="hs-comment">-- Use 'Data.Map.Strict.insertLookupWithKey'.</span><span>
</span><span id="line-98"></span><span id="local-6989586621679186320"><span id="local-6989586621679186321"><span class="annot"><a href="Data.Map.html#insertLookupWithKey%27"><span class="hs-identifier hs-type">insertLookupWithKey'</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Utils.Containers.Internal.TypeError.html#Whoops"><span class="hs-identifier hs-type">Whoops</span></a></span><span> </span><span class="annot"><span class="hs-string">&quot;Data.Map.insertLookupWithKey' is gone. Use Data.Map.Strict.insertLookupWithKey.&quot;</span></span><span>
</span><span id="line-99"></span><span>                     </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679186321"><span class="hs-identifier hs-type">k</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186320"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186320"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186320"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186321"><span class="hs-identifier hs-type">k</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186320"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Data.Map.Internal.html#Map"><span class="hs-identifier hs-type">Map</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679186321"><span class="hs-identifier hs-type">k</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679186320"><span class="hs-identifier hs-type">a</span></a></span><span>
</span><span id="line-100"></span><span>                     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679186320"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Data.Map.Internal.html#Map"><span class="hs-identifier hs-type">Map</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679186321"><span class="hs-identifier hs-type">k</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679186320"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span></span><span>
</span><span id="line-101"></span><span id="insertLookupWithKey%27"><span class="annot"><span class="annottext">insertLookupWithKey' :: forall k a.
Whoops
  &quot;Data.Map.insertLookupWithKey' is gone. Use Data.Map.Strict.insertLookupWithKey.&quot; =&gt;
(k -&gt; a -&gt; a -&gt; a) -&gt; k -&gt; a -&gt; Map k a -&gt; (Maybe a, Map k a)
</span><a href="Data.Map.html#insertLookupWithKey%27"><span class="hs-identifier hs-var hs-var">insertLookupWithKey'</span></a></span></span><span> </span><span class="annot"><span class="annottext">k -&gt; a -&gt; a -&gt; a
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">k
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">a
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Map k a
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Maybe a, Map k a)
forall a. HasCallStack =&gt; a
</span><a href="../../base/src/GHC.Err.html#undefined"><span class="hs-identifier hs-var">undefined</span></a></span><span>
</span><span id="line-102"></span><span>
</span><span id="line-103"></span><span class="hs-comment">-- | This function is being removed and is no longer usable.</span><span>
</span><span id="line-104"></span><span class="hs-comment">-- Use 'Data.Map.Strict.foldr'.</span><span>
</span><span id="line-105"></span><span id="local-6989586621679186315"><span id="local-6989586621679186316"><span id="local-6989586621679186317"><span class="annot"><a href="Data.Map.html#fold"><span class="hs-identifier hs-type">fold</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Utils.Containers.Internal.TypeError.html#Whoops"><span class="hs-identifier hs-type">Whoops</span></a></span><span> </span><span class="annot"><span class="hs-string">&quot;Data.Map.fold is gone. Use foldr.&quot;</span></span><span>
</span><span id="line-106"></span><span>     </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679186317"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186316"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186316"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186316"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Data.Map.Internal.html#Map"><span class="hs-identifier hs-type">Map</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679186315"><span class="hs-identifier hs-type">k</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679186317"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186316"><span class="hs-identifier hs-type">b</span></a></span></span></span></span><span>
</span><span id="line-107"></span><span id="fold"><span class="annot"><span class="annottext">fold :: forall a b k.
Whoops &quot;Data.Map.fold is gone. Use foldr.&quot; =&gt;
(a -&gt; b -&gt; b) -&gt; b -&gt; Map k a -&gt; b
</span><a href="Data.Map.html#fold"><span class="hs-identifier hs-var hs-var">fold</span></a></span></span><span> </span><span class="annot"><span class="annottext">a -&gt; b -&gt; b
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">b
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Map k a
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">b
forall a. HasCallStack =&gt; a
</span><a href="../../base/src/GHC.Err.html#undefined"><span class="hs-identifier hs-var">undefined</span></a></span><span>
</span><span id="line-108"></span><span>
</span><span id="line-109"></span><span class="hs-comment">-- | This function is being removed and is no longer usable.</span><span>
</span><span id="line-110"></span><span class="hs-comment">-- Use 'foldrWithKey'.</span><span>
</span><span id="line-111"></span><span id="local-6989586621679186309"><span id="local-6989586621679186310"><span id="local-6989586621679186311"><span class="annot"><a href="Data.Map.html#foldWithKey"><span class="hs-identifier hs-type">foldWithKey</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Utils.Containers.Internal.TypeError.html#Whoops"><span class="hs-identifier hs-type">Whoops</span></a></span><span> </span><span class="annot"><span class="hs-string">&quot;Data.Map.foldWithKey is gone. Use foldrWithKey.&quot;</span></span><span>
</span><span id="line-112"></span><span>            </span><span class="hs-glyph">=&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679186311"><span class="hs-identifier hs-type">k</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186310"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186309"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186309"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186309"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Data.Map.Internal.html#Map"><span class="hs-identifier hs-type">Map</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679186311"><span class="hs-identifier hs-type">k</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679186310"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621679186309"><span class="hs-identifier hs-type">b</span></a></span></span></span></span><span>
</span><span id="line-113"></span><span id="foldWithKey"><span class="annot"><span class="annottext">foldWithKey :: forall k a b.
Whoops &quot;Data.Map.foldWithKey is gone. Use foldrWithKey.&quot; =&gt;
(k -&gt; a -&gt; b -&gt; b) -&gt; b -&gt; Map k a -&gt; b
</span><a href="Data.Map.html#foldWithKey"><span class="hs-identifier hs-var hs-var">foldWithKey</span></a></span></span><span> </span><span class="annot"><span class="annottext">k -&gt; a -&gt; b -&gt; b
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">b
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Map k a
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">b
forall a. HasCallStack =&gt; a
</span><a href="../../base/src/GHC.Err.html#undefined"><span class="hs-identifier hs-var">undefined</span></a></span><span class="hs-cpp">
#endif
</span></pre></body></html>